Community builder

ABSTRACT

Systems and techniques for automatically building a community of members based on a primary interest of the members. Community templates are classified according to primary interest of members into community types depending on the primary interests, a community template is selected based on a primary interest, and a community place for members to share information is created.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of priority from U.S. Provisional Application entitled “User Productivity Suite,” filed Dec. 23, 2002, Application Serial No. 60/436,219.

BACKGROUND

[0002] The following description relates to an enterprise application, for example, for building a community of members having a primary interest and providing a community place for members to share information.

[0003] Knowledge sharing is considered a relatively important tool for a user to achieve a high level productivity. For example, a user having an interest in a topic may wish to exchange information related to the topic with other users who share a similar interest. However, current systems may not be able to provide the user with the ability to easily create a community of users who share the same interests. For example, to create a community of users sharing the same interests may require the involvement of information technology (IT) experts with specialized knowledge of computer systems.

SUMMARY

[0004] The present inventors recognized that setting up and maintaining communities may become a commodity, and as result, developed tools that may help support easy instantiation of a community for non IT-experts. These tools, at the same time, may ensure consistency across different communities by generating similar functionality and layouts for communities of the same type. In addition, the inventors recognized that traditional systems may lack the ability to build a community of members sharing a primary interest. Accordingly, techniques were developed to build a community of members sharing a primary interest and creating a community place for the members to collaborate and share information and documents.

[0005] In one aspect, systems and techniques are described for automatically building a community of members based on a primary interest of the members. Community templates are provided classifying primary interests of members into community types depending on the primary interests, a community template is selected based on a primary interest, and a community place is created for members to share information.

[0006] Templates may be based on predefined templates according to a community types such as, for example, human interest, corporate interest, interest in cross-discipline knowledge exchange, interest in the same business objects, interest in the same tool, interest in the same organization, interest in the same activity, or other interest. The community of members may be able to communicate over predefined communication channel types such as an operational type, strategic type, and up-to-date type. The community of members also may be able to communicate within a communication channel using predefined message types based on the requirements of the community of members. The community of members may use synchronous and/or asynchronous services for interaction with other members including communicating with members, sharing information with members and coordinating activities with members.

[0007] The techniques also may allow the assignment of roles to members of the community based on their social roles and/or responsibilities in the community such as an administrator for creating a community template, a manager for instantiating a community, and an end user as a member of the community. A component may be provided having functions to allow a member to create, edit, delete and organize community templates. Access may be provided to a corporate wide catalog of predefined vocabularies of interests including product line, tools, activities and business topics. Communities may be able to link to a corporate wide catalog of vocabularies of interests that list existing communities according to a primary interest. Primary interests may be further defined by adding borders that cross one or more different classifications.

[0008] The techniques also may provide access to a people finder tool to allow identification of people having a primary interest. A list of members of a community may be updated by applying dynamic queries using the people finder tool. People may be notified about the existence of a community including that they been identified as potential member of the community. A member of the community may be notified in response to an updated list of members indicating potential new members to the community.

[0009] The systems and techniques described herein may provide one or more of the following advantages. In some implementations, a person having a primary interest may be able to quickly and efficiently share information with a community of people having a similar primary interest. For example, a person having a primary interest in “people motivation” or “leadership” may be able to access a finder tool to identify a list of people having a similar interest and then create a community place for the community to share information and applications related to the primary interest. A community may be based on a group of people formed around a topic of common interest. The community may allow the members to share ideas, insights, information; solve problems and provide advise to the members, learn together; and cerate tools, processes, frameworks, etc. The members in the community may be able to relate to each other and overtime steward practice areas. For example, they can develop core knowledge and manage the material about the topic. A community also can cross boundaries in a company such as between a supplier community and a customer community.

[0010] The techniques disclosed may provide different mechanisms for communication including threaded discussions (asynchronous), instant messaging (synchronous) and mobile devices. The community places may facilitate discussions regarding topics of interest, content management (documents and application), and administration and moderation (e.g., users, access control). The community also provides for conferencing including real-time discussions and shared spaces. The techniques may provide a company with increased value including reduced cost and improved quality, innovation and technology tranfer. The members also may benefit by reducing the time a member searches for information, providing a member with more information and providing a member with an increased sense of connection with peers.

[0011] Details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages may be apparent from the description and drawings, and from the claims.

DRAWING DESCRIPTIONS

[0012] These and other aspects will now be described in detail with reference to the following drawings.

[0013]FIG. 1 is a block diagram showing a community builder system.

[0014]FIG. 2 is a table of predefined community type templates.

[0015]FIG. 3 is a table of generic conversation channel types.

[0016]FIG. 4 is a table of message types.

[0017]FIG. 5 is a table of communication types.

[0018]FIG. 6 is a flowchart of a process of implementing a community builder system.

[0019] FIGS. 7A-7H are display screens that may be used with an implementation of the community builder system.

[0020]FIG. 8 is a block diagram illustrating an example of an integrated enterprise management system.

[0021]FIG. 9 is a block diagram illustrating components of an example enterprise management consolidation system.

[0022] Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

[0023] The systems and techniques described here relate to an enterprise application for automatically building a community of members sharing a primary interest. The method includes classifying primary interests of members into community types depending on the primary interests, selecting a community template based on a primary interest and creating a community place for members to share information. A primary interest represents the motivation for joining or forming a community. A community place may be defined as virtual space where a group of people who share the same interests or responsibilities can participate in an exchange of information. Participating in a community may include having the individual community members exchange their thoughts and ideas about a certain topic and build a network of knowledge, even across organizational boundaries. To participate, people may depend on a multitude of technologies ranging from phone and e-mail to project management tools. Participation may also include sharing news items, internal documents, and data from an organization's transactional systems.

[0024] Furthermore, the people involved may be located in offices across the country or around the world—or they may not be in an office at all. The disclosed techniques employ a finder tool to create community places and to identify the people who should participate in a certain community. The community builder includes a template-based assembling and administration tool for managing communities. The templates describe the behavior of the community place, the place internal roles people can be assigned to, and access the members may have to documents and applications. The builder tool includes community place internal roles allowing members to assign groups of people different access permissions to the various information and applications inside a place.

[0025]FIG. 1 shows a block diagram of a community builder system 100 according to an embodiment of the application. The community builder system 100 includes a community builder tool 102 configured to manage one or more templates 108 describing the behavior of a community of members 112 sharing a primary interest, identify the community of members 112 using a people finder tool 114, and create one or more community places 110 based on the identified community of members. The community places 110 can allow the community of members 112 to share information and applications over one or more communication conversation channels 116 such as electronic-mail (email) over a computer network. The templates 108 may include data describing the characteristics of the community place 110, roles that the members are assigned to in the place, and information and applications the members have access to in the place. As a result, a community of members who share a primary interest can share information with other members in an efficient

[0026] The community builder employs community templates which may include predefined templates according to a community types including human interest, corporate interest, interest in cross-discipline knowledge exchange, interest in the same business objects, interest in the same tool, interest in the same organization, interest in the same activity, or other interests. These community types are described in further detail below with reference to FIG. 2 of the application. The members of a community may communicate over predefined communication channel types including an operational type, strategic type, up-to-date type, or other types. These predefined channel types are described in detail below with reference to FIG. 3 of the application.

[0027] The community builder also provides the community of members the ability to communicate within a communication channel using predefined message types based on the requirements of the community of members. These message types are described in detail with reference to FIG. 4 of the application. The members of the community may interact with other members using synchronous and/or asynchronous services including services for communicating with members, for sharing information with members and coordinating activities with members. These services are explained in detail below with reference to FIG. 5 of the application.

[0028] The community builder tool 102 includes an administration component 104 to allow a member of a community, such as administrator of the community, to create, edit, delete and organize community templates 108 as well as community place types 110. The component 104 also allows the maintenance of permissions on these templates. Furthermore the component 104 allows a user to administer the existing community places including setting them active or inactive, assigning new participants and administrators and change ownership, and other functions.

[0029] The community builder tool 102 includes a wizard component 106 to permit a user, such as an administrator of a community, to create new community places 110 tailored to the specific needs of well-defined communities, identified with the finder tool 114. (FIGS. 7A-7H illustrate display screens of a wizard component according to an implementation of the community builder tool. This implementation is described in detail below) A user can select a template matching the needs of the community, select the applications the community requires from the set of predefined applications in the template and add documents to the community. Furthermore, the wizard permits a user to assign groups of people in the community place internal roles, and control a person's access to the applications and tools provided in the community place using permissions. The roles may be assigned to members of the community based on their social roles and/or responsibilities in the community. For example, in one implementation, the roles may include assigning a member the role of an administrator responsible for creating a community template, the role of a manager for instantiating a community, the role of an end user as a member of the community, or other roles.

[0030] The wizard component 106 may provide access to a corporate wide catalog of predefined vocabularies of interests. For example, the wizard can access a list of people having a particular primary interest by linking to a catalog of predefined primary interests. The primary interest can include terms/words describing topics directed to product lines, tools, activities and business topics. The wizard can access communities by linking to the corporate wide controlled catalog of vocabularies (e.g., the corporate taxonomy service/application TopicMap developed by SAP AG) of interests and by listing existing communities according to a primary interest. For example, in one implementation, the wizard may employ two methods of identifying employees in a corporation who may be interested in forming a community whose members share the same primary interest. The wizard can link to a job catalog and allow a user to browse the catalog searching for entries specifying primary interests related to a programming topics such as a user interface and programming language/tools. Alternatively, the topics can be listed according to community types established by primary interests.

[0031] The wizard also can handle the intersection of different corporate wide taxonomies that are specific to a company. A company may have different taxonomies or organizational structures. For example, a product-oriented taxonomy may include a structure arranged around company products such as Portal and customer relationship management (CRM). An activity-oriented taxonomy may involve a structure organized around corporate activities such as accounting, marketing, sales and research and development. A region-oriented taxonomy may include a structure organized according to regions in which a corporation operates such as Europe and the US. The intersection of these taxonomies defines a segment. The primary interest reflects the intent or focus of why this segment is defined and determines the type of community.

[0032] An intersection (border) of the different taxonomies may narrow down the primary interest, but it does not change the basic type of community. For example, a target segment may be defined as the intersection of the product (Portal), activity (Sales) and the region (Europe) taxonomy. Thus a community may be formed having people with the same primary interest. For example, the community has members including sales people who can share their experience of selling the same product. They can stay focused because they can share their ideas only with those members selling the same product (portal), and working in the same region (Europe). Moreover, the community is working on the same product (Portal) and can stay up-to-date regarding releases, features and market feedback. In addition, the community is defined to include members working in Europe and, as sales people, need to coordinate and align customer contacts regarding the portal product.

[0033] The people finder tool 114 can help a user identify a target group of people sharing a primary interest. The community builder tool can operate on a collection of people identified by people finder tool. The finder tool can maintain a list of members of a community and is capable of updating the list by applying dynamic queries to the list. The tool also can notify a member of the community, such as the administrator, in response to an updated list of members indicating potential new members to the community. The tools also can notify people about the existence of a community including sending people messages indicating that they been identified as potential member of the community. For example, the tool can automatically generate a new query creating an updated member list indicating that a new member, such as an employee of a corporation, matches the profile of the community.

[0034] The community builder tool can further define a community having a primary interest by adding borders to the primary interest. Adding borders to a community having primary interest provides a mechanism for filtering out people who can join a community. For example, a community can be formed having a primary interest related to product sales in a company. If the administrator of the community is interested in forming a community of members who have a primary interest in sales only in Europe, then the system allows the creation of a border specifying “sales” and “Europe.” As a result, a community is formed of people with an interest in sales in Europe.

[0035]FIG. 2 shows a table 200 of predefined community templates that can be supported by the community builder tool 102 of FIG. 1. To reflect the motivation for forming a community, these templates can be semantically structured. For example, a human-interest community 202 can be organized around people who share in human interests such as travel, health, sports, or other interests. A corporate interest community 204 can be organized around people who share strategic corporate interests such as Java programming, user interface design communities, or other interests. A knowledge community 206 can be organized around peoples who have an interest in the exchange of cross-discipline knowledge such as branding, new technology initiatives or other knowledge. A business object-based community 208 can be organized around people who have an interest in working with the same business objects such as products/services, projects, or other objects. An activity-based community 210 can be organized around people involved in similar activities such as a community of managers, product designers or other activities. A tool-based community 212 can be organized around communities of people working with the same tool such as a word processor, a programming language, or other tool. An organization-based community 212 can be organized around people working for the same organizational level such as the same group, department or other organization entity. It should be understood that this list of predefined templates represents examples of templates and one skilled in the art would add more or modify the current list depending on the requirements of the application.

[0036]FIG. 3 is a table 300 showing one or more generic conversation channel types 302 that can be attached to communities, and characteristics of the channel types 304 that can be supported by the community builder tool 102 of FIG. 1. For example, the community builder tool 102 may build a community of members and provide an “operational” conversation channel 306 based on conversation at a “working level” that includes discussions about daily experiences, question and answers, coordination of work, gossip, jokes or other topics. On the other hand, the tool may build another community of members and provide a “strategic” conversation channel 308 based on conversation at a “meta level” that includes discussions about new concepts, evaluation of current processes, global coordination, or other discussion topics. Alternatively, the tool may build a community of members and provide an “up-to-date” conversation channel 410 based on “educational information” that includes discussions about new technologies, new projects, training offers, changes, new resources, or other related discussion topics. It should be understood that the listed conversation channel types represent examples and one skilled in the art would add more or modify the channel types depending on the requirements of the application.

[0037]FIG. 4 is a table 400 showing the relationship between conversation message types 402 between a community and its members which may be based on the community type 404. For example, a “Tools and methods” oriented community, such as a group of people who share an interest in “MS-Office”, may be able to communicate using conversation channels having messages related to “Questions and Problems” about “MS-Office” tools. Likewise, an “Activities” based community 308, such as a group of people who have an interest in “Teaching,” may wish to communicate over conversation channel having messages directed to a “Best Practice” corresponding to the particular interest. Similarly, a “Service Offering” related community 410, such as a group of people who share an interest in “Training”, may be decide to communicate over a conversation channel using messages directed to “Resource Coordination” about training. In a similar manner, an “Interest” based community 412, such as a group of people who share an interest in the “Java” programming language, may be served by a conversation channel with messages including “New Info Resources Opinions” about the programming language. It should be understood that this list of conversation channels and message types represent examples and one skilled in the art would add more or modify these elements depending on the requirements of the application.

[0038]FIG. 5 is a table 500 showing the relationship between community types 502 and synchronous communication tools (i.e., parties communicate in real time) tools 504 and/or asynchronous communication tools (i.e., parties communicate in non-real time) tools 506. For example, a “communication” community type 508 may communicate using synchronous tools such as a phone, chat, and online meeting, and asynchronous tools such as email, instant messages, discussion threads, and voting. Likewise, an “information” community type 510 may communicate using synchronous tools such as shared applications, co-browsing of documents, and whiteboards, and asynchronous tools such as shared folders, solution data base. In a similar manner, a “coordination” community type 512 may communicate by using synchronous tools such as a floor control, and localization, and asynchronous tools such as team calendar, project milestones, task lists and case tools. It should be understood that the community types and tools listed represent examples and one skilled in the art would add more or modify the types and tools depending on the requirements of the application.

[0039]FIG. 6 is a flow chart 600 of a process of an implementation of a community builder tool 102 of FIG. 1. The community builder tool automatically configures default community types based on primary interests. To illustrate, assume a person in a company wishes to create an informal community of members who share the same interest in “people motivation” or “leadership.” The person may access the community builder tool which provides (block 602) one or more predefined templates describing the behavior of a community of members sharing a primary interest. The templates may include data describing a community place, roles the community of members may be assigned to in the place, and information and applications the members have access to in the place.

[0040] A member can access the administrative component 104 of the tool 102 to create, edit, delete and organize at least one of community place templates and community place types. In addition, a member may access the wizard component 106 of the tool 102 to permit the member to create community places tailored to the specific needs of well-defined communities. For example, the member can adjust parameters of the community including what interest the members of the community share (i.e., an interest in the “people motivation” or “leadership”), whether the community is open to everyone or if you have to be invited to join, whether the community is to be moderated (and if so, then by whom), what applications and/or information the community can have access to as well as permission levels, roles of the members in the community, and other parameters. Moreover, the member can select an initiator, moderator and gate keeper for this community. For example, the member may be selected to perform one or more of these functions, but the selection can be changed including assigning the responsibility to some other member such as a member from people identified in a result from the people finder tool.

[0041] The community builder tool selects a template (block 604) based on a community of people having a primary interest. The tool may create a list of people who may share this interest. For example, the member can access the people finder tool to create and manage a list of people who have a primary interest in “people motivation” or “leadership.” The member also can use the tool to create and save contact lists for future communication, define ad-hoc collections of people when sending messages to the members of the community, search for public communities and become members using a particular role, browse for people across one or more different communities. For example, the member can search for other related communities such as communities having an interest in “people motivation” or other interests.

[0042] Once a community of members has been identified, the member can employ the community builder tool to create (block 606) a community place based on the identified community of members. For example, the member has created a community place to allow members to share information and application related to “people motivation” or “leadership.” The tool may provide predefined conversation communication channels and messages based on the characteristics of the community of members. In this example, the community may be characterized as an “operational” and as requiring a generic conversation channel type including conversations on a work level such as questions and answers related to “people motivation” or “leadership” (See FIG. 4). The tool also may provide predefined templates according to at least one of human interests, corporate interests, cross-discipline knowledge exchange, working with the same business objects, working with the same tool, working with the same organization, and activity based. In this case, the member is interested in an “Interest” community related to “people motivation” or “leadership.”

[0043] The community builder tool also may allow a member, such as an administrator, to assign different access permissions to information in a community place. For example, some members may be assigned all rights including read and write permission whereas other members of the community may be assigned only read access. These permission levels may be dynamically updated later based the circumstances of the community. A member also may be able to select communication tools including synchronous tools (e.g., phone) and asynchronous tools (e.g., email) based on the community type (See FIG. 5). For example, a member can choose to notify (e.g., to invite the members to the community, share information, etc) the members of the community using mechanisms such as mail, short message service (SMS) and instant messaging and control the type of information sent to the members including unrestricted access to all information, just news, questions, and/or other combinations of information. A member may be able to define the community of members as having a primary focus and further defining the community by adding borders that cross one or more classifications. For example, a community of member can be defined who have an interest in “people motivation” or “leadership.” This community can be further classified according to other criteria. Predefined messages may be sent to the community of members based on a role of the member and a conversation channel type. For example, this community may qualify as an “Interest” based community directed to the “people motivation” which may include exchanging messages such as ideas, tips, and insights related to “people motivation.” (see FIG. 3)

[0044] As a result, in one implementation, the tool may allow the member to create a community place of members sharing a primary interest and to share information with others in the community.

[0045] FIGS. 7A-7H are display screens that may be used with an implementation of the community builder system.

[0046]FIG. 7A illustrates an implementation of a user interface (UI) having a basic data screen 700 according to an implementation of the community builder tool. The screen 700 includes a menu section 701 providing a list of links to other screens associated with the tool. In this example, the basic data screen has been selected from menu section 701. The basic data screen 700 provides a collection display field 702 indicating the number of people that satisfy search terms previously entered from another application such as a people finder tool. In this example, the display field 702 indicates that fifty-two (52) people have been identified satisfying the search criteria “Portal, EJB, J2EE, Java Development.” The system allows other search terms to be entered related to any other topic or interest to a community as indicated in FIG. 200 or other interests. A name field 704 allows a user, such as an administrator of a community, to specify a name for the community and a description field 706 permits a user to provide a description of the community—this information can be entered using free form text. For example, a person having primary interest in “people motivation” may be interested in forming a community of members sharing the same interest. A cancel button 708 provides a user the ability to cancel the screen, and a next button 710 allows a user to proceed to subsequent screen such as a specify type screen 720 shown in FIG. 7B.

[0047]FIG. 7B illustrates an implementation of a specify type screen 720 to allow a user to select a community type including characteristics associated with the selected community. The screen 720 includes a community type section 722 that provides a user with a set of predefined group of communities. For example, the user can select from a group of communities 722 a having members with similar interests, activities, tools and methods, and business context. Within each group 722 a, a user can select from a list of pre-established communities 722 b. Other communities can be displayed such as communities listed in table 200 of FIG. 2 or other communities based on the particular requirements of the communities.

[0048] The screen 720 also includes a community visibility section 724 allowing the user to specify the visibility of the community. For example, the user can specify that the community will be “open and recommended” so that the community will appear in a community list of a portal allowing everyone with access to the list to join the community. The user also can select “open” indicating that the community will appear in the search results of other members and permit everyone to join the community. The “closed” selection allows a user to specify that although the community may appear in the search result of everyone, only certain members may be allowed to join the community. The “closed and hidden” option allows a user to specify that the community will appear in search results of other members, but membership to the community is restricted. The screen also includes a message board option section 726 allowing the user to select whether a message board associated with the community will be moderated or un-moderated where members can post messages freely. A previous button 711 enables a user to return a previous screen. Once the user has selected a community, the user can proceed to the tools and method screen 730 shown in FIG. 7C.

[0049]FIG. 7C illustrates an implementation of a tools and method screen 730 to permit a user to choose tools and methods for a community previously selected from the specify type screen shown in FIG. 7B. A community place section 732 allows a user to indicate that the community will have a community place to share information. The screen also provides a choice of tools and methods for sharing information such as instant messenger, solution databases, chat, event calendar, shared information collection, news, discussion forums, download area, or other techniques. A strategic communication channel 734 provides the user with the ability to specify whether the community will communicate over a strategic communication channel. Other communication channels can be specified including channels listed in table 400 of FIG. 4. A home page option 736 allows a user to specify whether to include a public homepage for the selected community. Once the user has selected the tools and methods for the community, the user selects the next button 710 to proceed to a first assignment screen 740 to assign the members of the community roles within the community, as shown in FIG. 7D.

[0050]FIG. 7D illustrates an implementation of a first assignment screen 740 for assigning members of the community administrative roles within the chosen community. A role section 742 allows a user to assign to members of the community (people pool) administrative roles such as a sponsor/initiator, moderator or a gate keeper. A sponsor/initiator is a person(s) responsible for initiating the community, a moderator is responsible for moderating the community place and the gate keeper is responsible for verifying membership into the community. A select people section 744 allows a user to search for people having certain criteria using a search tool such as people finder. In this example, the search results in a list 744 a of names of people satisfying some criteria. The user can then select one or more persons from the list 744 a and assign them any of the roles indicated in section 742. The user can then proceed to a second assignment screen 750, shown in FIG. 7E, to assign roles to the members of the community.

[0051]FIG. 7E illustrates an implementation of the second assignment screen 750 for assigning roles to members of the community. The second assignment screen 750 provides a member list 752 of the members of the community. In this case, the list 752 indicates a community having fifty-two (52) members and shows a partial list of six (6) of the members. An assignment section 754 allows the user to assign a role to each member such as a guest, member and/or core. Each role may be associated with certain access restrictions and characteristics. For example, a guest member may only be allowed to participate in certain discussions, a regular member may be allowed more access than a guest, whereas a core member may have unrestricted access to participate in the community. Once the user has assigned roles to the members of the community, the user can proceed to a document management screen 760 shown in FIG. 7F.

[0052]FIG. 7F illustrates an implementation of document management screen 760 for managing documents in a community. The document management screen 760 includes a search section 766 to allow a user to enter criteria to search for documents for sharing in a community. In this example, a result list of documents 764 shows different documents including word processing documents, spreadsheet documents, and other formats. The result list 764 also provides a scrolling mechanism for scrolling through the list of documents. The user can select a document from the list 764 and use an assign button 768 to assign the selected document to a container such as a folder. A container section 762 provides a user the ability to create containers or folders to hold documents and to assign access restrictions such as read and/or write access permissions to different members of the community. The container section 762 also allows the user to perform administrative functions on the containers such as renaming, deleting, and adding new folders for a community. Once documents have been handled, the user can proceed to an invitation screen 770 as shown in FIG. 7G.

[0053]FIG. 7G illustrates an implementation of an invitation screen 770 for sending an invitation to the members of the community. The invitation screen 770 includes a drop-down box to provide a user the ability to send an invitation to the members of the community over communication channels such as email. A message text box 774 permits a user to enter an invitation message to the members of the community. Once the user has sent an invitation to the members, the user can proceed to a confirmation screen 780 as shown in FIG. 7H.

[0054]FIG. 7H illustrates an implementation of the confirmation screen 780 providing a display of the characteristics of the community. The confirmation screen 780 displays a summary 784 of the community including a description of the community, community type, tools and methods associated with the community, roles assigned to the members of the community, documents that can be shared in the community, and a copy of the invitation sent to the members of the community. In addition, the confirmation screen 780 provides a confirmation 782 that the community has been created.

[0055]FIG. 8 is a block diagram illustrating an example integrated enterprise management system. The techniques described herein relating to the community builder tool can be integrated with other systems including this enterprise management system. Multiple clients 800 can access data over a network 810 through a portal 820. The network 810 can be any communication network linking machines capable of communicating using one or more networking protocols, e.g., a local area network (LAN), a wide area network (WAN), an enterprise network, a virtual private network (VPN), and/or the Internet. The clients 800 can be any machines or processes capable of communicating over the network 810. The clients 800 can be Web Browsers and optionally can be communicatively coupled with the network 810 through a proxy server (not shown).

[0056] A portal 820 provides a common interface to program management services. The portal 820 receives requests from the clients 800 and generates information views 825 (e.g., Web pages) in response. The portal 820 can implement a user roles-based system to personalize the common interface and the information views 825 for a user of a client 800. A user can have one or more associated roles that allow personalized tailoring of a presented interface through the generated information views 825.

[0057] The portal 820 communicates with an enterprise management system 830 that consolidates multiple application services. The portal 820 receives data 835 from the enterprise management system 830 for use in fulfilling the requests from the clients 800. The enterprise management system 830 can provide integrated application services to manage business objects and processes in a business enterprise. The business objects and processes can be resources (e.g., human resources), development projects, business programs, inventories, clients, accounts, business products, and/or business services.

[0058] The enterprise management system 830 communicates with enterprise base systems 840 to obtain multiple types of data 845. The enterprise base systems 840 can include various existing application services, such as human resource management systems, customer relationship management systems, financial management systems, project management systems, knowledge management systems, business warehouse systems, time management systems, and electronic file and/or mail systems. The enterprise base systems 840 also can include an integration tool, such as the exchange Infrastructure provided by SAP, that provides another level of integration among base systems. The enterprise management system 830 can consolidate and integrate the data and functionality of such systems into a single enterprise management tool.

[0059] This enterprise management tool can include systems and techniques to facilitate creation of new applications within the enterprise management system 830. These new applications, referred to as cross-functional or composite applications, can readily draw on the resources of the enterprise base systems 840 to cross over traditional enterprise application boundaries and handle new business scenarios in a flexible and dynamic manner, allowing rapid and continuous innovation in business process management. A virtual business cycle can be created using such cross-functional applications, where executive-level business strategy can feed management-level operational planning, which can feed employee-level execution, which can feed management-level evaluation, which can feed executive-level enterprise strategy. The information generated at each of these stages in the enterprise management cycle can be readily consolidated and presented by the enterprise management system 830 using customized cross-functional applications. The stages can provide and consume determined services that can be integrated across multiple disparate platforms.

[0060] The portal 820, enterprise management system 830 and enterprise base systems 840 can reside in one or more programmable machines, which can communicate over a network or one or more communication busses. For example, the base systems 840 can reside in multiple servers connected to an enterprise network, and the portal 820 and the enterprise management system 830 can reside in a server connected to a public network. Thus, the system can include customized, web-based, cross-functional applications, and a user of the system can access and manage enterprise programs and resources using these customized web-based, cross-functional applications from anywhere that access to a public network is available.

[0061]FIG. 9 is a block diagram illustrating components of an example enterprise management consolidation system 900. The system 900 can include a persistence layer 910 and one or more base system connectors 920. The base system connectors 920 enable data exchange and integration with base systems. The base system connectors 920 can include a BC (Enterprise Connector) interface, an ICM/ICF (Internet Communication Manager/Internet Communication Framework) interface, an Encapsulated PostScript® (EPS) interface, or other interfaces that provide Remote Function Call (RFC) capability.

[0062] The persistence layer 910 provides the enterprise management consolidation system 900 with its own database 912 and data object model 914. The database 912 and the object model 912 provide a consolidated knowledge base to support multiple enterprise management functions, including functions created as cross-applications 970. Active communication between the persistence layer 910 and the base systems can provide a tight linkage between real-time operational data from multiple base systems and an integrated enterprise analysis tool to allow strategic enterprise management and planning.

[0063] The data object model 914 can represent a subset of data objects managed by the base systems. Not all of the data aspects tracked in the base systems need to be recorded in the data object model 914. The data object model 914 may have defined relationships with data objects stored in the base systems, for example, certain objects in the data object model 914 may have read-only or read-write relationships with corresponding data objects in the base systems. These types of defined relationships can be enforced through the communication system built between the persistence layer 910 and the base systems. Thus, the persistence layer 910 can be used to effectively decouple application development from the underlying base systems.

[0064] The cross-functional applications 970, which take advantage of this decoupling from backend systems to drive business processes across different platforms, technologies, and organizations, can be created using a set of tools that enable efficient development of cross-functional applications 970. The cross-functional applications 970 can support semi-structured processes, aggregate and contextualize information, handle event-driven and knowledge-based scenarios, and support a high degree of participation in teams, including driving participation and transactions. The set of tools enable efficient development of the cross-functional applications 970 by providing application patterns that support model-driven composition of applications in a service-oriented architecture.

[0065] An object modeling tool 940 enables creation of new business objects in the persistency layer 910 by providing a mechanism to extend the data object model 914 dynamically according to the needs of an enterprise. A process modeling tool 950 enables creation of new business workflow and ad hoc collaborative workflow. A user interface (UI) tool 960 provides UI patterns that can be used to link new objects and workflow together and generate standardized views into results generated by the cross-functional applications 970. The object modeling tool 940, the process modeling tool 950 and the UI tool 960 thus can be used to build the components of cross-applications 970 to implement new enterprise management functions without requiring detailed coding activity.

[0066] The process modeling tool 950 can include guided procedure templates with pre-configured work procedures that reflect best practices of achieving a work objective that is part of a larger cross-functional application scenario. Such a work procedure can include contributions from several people, creation of multiple deliverables, and milestones/phases. Moreover, whenever an instantiated business object or work procedure has lifetime and status, the progress and status of the object or work procedure can be made trackable by the process owner or by involved contributors using a dashboard that displays highly aggregated data. The dashboard and a myOngoingWork place can be two UI patterns that are provided by the UI tool 960.

[0067] Whenever there is a concept of myObjects, myRecentObjects, myRelatedObjects or myPreferredObjects, then an Object Picker UI pattern, provided by the UI tool 960, can be included that let members pick their favorite object directly. Whenever people are to be searched for, either for choosing one individual person or for generating a collection of people meeting some criterion, the resource finder concept should be applied. A key aspect of searching for a person can be described as an attribute within the user's activity, qualification, interest, and collaboration profile. For a given cross-application scenario, people collections can be stored as personal or shared collections using the Resource finder to make them available for further operations later on.

[0068] Whenever there is a strategic view on a cross-functional application scenario, analytics of the overall portfolio can be made available in the form of a collection of UI components. A view selector can be used to display/hide components, and a component can be toggled between graphical and numerical display and can include a drop-down list or menu to select sub-categories or different views.

[0069] Cross-functional application scenarios can provide related information to the user when possible, and some parts within a larger cross-application scenario can define what kind of related information is to be offered. Heuristics can be used to identify such relatedness, such as follows: (1) information that is related to the user due to explicit collaborative relationships such as team/project membership or community membership; (2) information that is similar to a given business object in a semantic space based on text retrieval and extraction techniques; (3) recent objects/procedures of a user; (4) other people doing the same or similar activity (using same object or procedure template, having same workset); (5) instances of the same object class; (6) next abstract or next detailed class; (7) explicit relationships on the organizational or project structure; (8) proximity on the time scale; (9) information about the underlying business context; and/or (10) information about the people involved in a collaborative process.

[0070] Cross-functional applications also can include generic functionality in the form of ControlCenter Pages that represent generic personal resources for each user. These cross-applications can refer to the following pages where appropriate: (1) MyOngoingWork page: provides instant access to all dashboards that let members track their ongoing work. Ongoing work may refer to the state of business objects as well as guided procedures. (2) MyDay page: lists today's time based events that are assigned or related to the user. (3) MyMessageCenter page: Displays all pushed messages and work triggers using a universal inbox paradigm with user selected categorical filters. (4) MyInfo: Provides access to all personal info collections (documents, business objects, contacts) including those located in shared folders of teams and communities of which the user is a member. Also provides targeted search in collaborative information spaces such as team rooms, department home pages, project resource pages, community sites, and/or personal guru pages.

[0071] As used herein, the terms “electronic document” and “document” mean a set of electronic data, including both electronic data stored in a file and electronic data received over a network. An electronic document does not necessarily correspond to a file. A document may be stored in a portion of a file that holds other documents, in a single file dedicated to the document in question, or in a set of coordinated files.

[0072] Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0073] These computer programs (also known as programs, software, software applications or code) may include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or resource-oriented programming language, and/or in assembly/machine language. As used herein, the term “machine-readable medium” refers to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor.

[0074] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0075] The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), and the Internet.

[0076] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

[0077] Other embodiments may be within the scope of the following claims. 

What is claimed is:
 1. A method of automatically building a community of members based on a primary interest of the members, the method comprising: providing community templates classifying primary interests of members into community types depending on the primary interests; selecting a community template based on a primary interest; and creating a community place for members to share information.
 2. The method of claim 1 wherein the templates include predefined templates according to a community types, wherein the templates include at least one of human interest, corporate interest, interest in cross-discipline knowledge exchange, interest in the same business objects, interest in the same tool, interest in the same organization, and interest in the same activity.
 3. The method of claim 1 further comprising providing the community of members the ability to communicate over predefined communication channel types, wherein the communication channel types include at least one of an operational type, strategic type, and up-to-date type.
 4. The method of claim 1 further comprising providing the community of members the ability to communicate within a communication channel using predefined message types based on the requirements of the community of members.
 5. The method of claim 1 further comprising providing the community of members with synchronous and/or asynchronous services for interaction with other members, wherein interaction includes at least one of communicating with members, sharing information with members and coordinating activities with members.
 6. The method of claim 1 further comprising assigning roles to members of the community based on their social roles and/or responsibilities in the community, wherein the roles include at least one of an administrator for creating a community template, a manager for instantiating a community, and an end user as a member of the community.
 7. The method of claim 1 further comprising providing a component having functions to allow a member to create, edit, delete and organize community templates.
 8. The method of claim 1 further comprising providing access to a corporate wide catalog of predefined vocabularies of interests including at least one of product line, tools, activities and business topics.
 9. The method of claim 1 further comprising providing access to communities by linking to a corporate wide catalog of vocabularies of interests and by listing existing communities according to a primary interest.
 10. The method of claim 1 further comprising defining primary interests by adding borders that cross one or more different classifications.
 11. The method of claim 1 further comprising providing access to a people finder tool to allow identification of people having a primary interest.
 12. The method of claim 11 further comprising updating a list of members of a community by applying dynamic queries using the people finder tool.
 13. The method of claim 11 further comprising notifying people about the existence of a community including that they been identified as potential member of the community.
 14. The method of claim 11 further comprising notifying a member of the community in response to an updated list of members indicating potential new members to the community.
 15. An article comprising a machine-readable medium storing instructions operable to cause one or more machines to perform operations comprising: providing community templates classifying primary interests of members into community types depending on the primary interests; selecting a community template based on a primary interest; and creating a community place for members to share information.
 16. The article of claim 15 wherein the templates include predefined templates according to a community types, wherein the templates include at least one of human interest, corporate interest, interest in cross-discipline knowledge exchange, interest in the same business objects, interest in the same tool, interest in the same organization, and interest in the same activity.
 17. The article of claim 15 further comprising providing the community of members the ability to communicate over predefined communication channel types, wherein the communication channel types include at least one of an operational type, strategic type, and up-to-date type.
 18. The article of claim 15 further comprising providing the community of members the ability to communicate within a communication channel using predefined message types based on the requirements of the community of members.
 19. The article of claim 15 further comprising providing the community of members with synchronous and/or asynchronous services for interaction with other members, wherein interaction includes at least one of communicating with members, sharing information with members and coordinating activities with members.
 20. The article of claim 15 further comprising assigning roles to members of the community based on their social roles and/or responsibilities in the community, wherein the roles include at least one of an administrator for creating a community template, a manager for instantiating a community, and an end user as a member of the community.
 21. The article of claim 15 further comprising providing a component having functions to allow a member to create, edit, delete and organize community templates.
 22. The article of claim 15 further comprising providing access to a corporate wide catalog of predefined vocabularies of interests including at least one of product line, tools, activities and business topics.
 23. The article of claim 15 further comprising providing access to communities by linking to a corporate wide catalog of vocabularies of interests and by listing existing communities according to a primary interest.
 24. The article of claim 15 further comprising defining primary interests by adding borders that cross one or more different classifications.
 25. The article of claim 15 further comprising providing access to a people finder tool to allow identification of people having a primary interest.
 26. The article of claim 25 further comprising updating a list of members of a community by applying dynamic queries using the people finder tool.
 27. The article of claim 25 further comprising notifying people about the existence of a community including that they been identified as potential member of the community.
 28. The article of claim 25 further comprising notifying a member of the community in response to an updated list of members indicating potential new members to the community.
 29. An enterprise management consolidation system comprising: a cross-functional application to provide communication between at least one of an object modeling tool, a process modeling tool and a user interface tool, wherein the user interface tool includes a computer implementing a method of automatically building a community of members based on a primary interest of the members, the method comprising: providing community templates classifying primary interest of members into community types depending on the primary interests; selecting a community template based on a primary interest; and creating a community place for members to share information.
 30. The system of claim 29 wherein the templates include predefined templates according to a community types, wherein the templates include at least one of human interest, corporate interest, interest in cross-discipline knowledge exchange, interest in the same business objects, interest in the same tool, interest in the same organization, and interest in the same activity.
 31. The system of claim 29 further comprising providing the community of members the ability to communicate over predefined communication channel types, wherein the communication channel types include at least one of an operational type, strategic type, and up-to-date type.
 32. The system of claim 29 further comprising providing the community of members the ability to communicate within a communication channel using predefined message types based on the requirements of the community of members.
 33. The system of claim 29 further comprising providing the community of members with synchronous and/or asynchronous services for interaction with other members, wherein interaction includes at least one of communicating with members, sharing information with members and coordinating activities with members.
 34. The system of claim 29 further comprising assigning roles to members of the community based on their social roles and/or responsibilities in the community, wherein the roles include at least one of an administrator for creating a community template, a manager for instantiating a community, and an end user as a member of the community.
 35. The system of claim 29 further comprising providing a component having functions to allow a member to create, edit, delete and organize community templates.
 36. The system of claim 29 further comprising providing access to a corporate wide catalog of predefined vocabularies of interests including at least one of product line, tools, activities and business topics.
 37. The system of claim 29 further comprising providing access to communities by linking to a corporate wide catalog of vocabularies of interests and by listing existing communities according to a primary interest.
 38. The system of claim 29 further comprising defining primary interests by adding borders that cross one or more different classifications.
 39. The system of claim 29 further comprising providing access to a people finder tool to allow identification of people having a primary interest. 